翻訳と辞書
Words near each other
・ Log-Laplace distribution
・ Log-linear analysis
・ Log-linear model
・ Log-logistic distribution
・ Log-net
・ Log-normal distribution
・ Log-periodic antenna
・ Log-polar coordinates
・ Log-rank test
・ Log-space computable function
・ Log-space reduction
・ Log-space transducer
・ Log-spectral distance
・ Log-structured file system
・ Log-structured File System (BSD)
Log-structured merge-tree
・ Log4j
・ Log5
・ Loga
・ Loga Department
・ Loga Nayaga Shani Eswaran shrine
・ Loga Ramin Torkian
・ Logabirum
・ Logacta
・ Logan
・ Logan (automobile)
・ Logan (band)
・ Logan (comics)
・ Logan (cyclecar)
・ Logan (film)


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Log-structured merge-tree : ウィキペディア英語版
Log-structured merge-tree

In computer science, the log-structured merge-tree (or LSM tree) is a data structure with performance characteristics that make it attractive for providing indexed access to files with high insert volume, such as transactional log data. LSM trees, like other search trees, maintain key-value pairs. LSM trees maintain data in two or more separate structures, each of which is optimized for its respective underlying storage medium; data is synchronized between the two structures efficiently, in batches.
One simple version of the LSM tree is a two-level LSM tree.〔O'Neil 1996, p. 4〕
As described by O'Neil, a two-level LSM tree comprises two tree-like structures, called C0 and C1. C0 is smaller and entirely resident in memory, whereas C1 is resident on disk. New records are inserted into the memory-resident C0 component. If the insertion causes the C0 component to exceed a certain size threshold, a contiguous segment of entries is removed from C0 and merged into C1 on disk. The performance characteristics of LSM trees stem from the fact that each component is tuned to the characteristics of its underlying storage medium, and that data is efficiently migrated across media in rolling batches, using an algorithm reminiscent of merge sort.
Most LSM trees used in practice employ multiple levels. Level 0 is kept in main memory, and might be represented using a tree. The on-disk data is organized into sorted runs of data. Each run contains data sorted by the index key. A run can be represented on disk as a single file, or alternatively as a collection of files with non-overlapping key ranges. To perform a query on a particular key to get its associated value, one must search in the Level 0 tree, as well as each run.
A particular key may appear in several runs, and what happens depends on the application. Some applications simply want the newest key-value pair with a given key. Some applications must combine the values in some way to get the proper aggregate value to return. For example, in Apache Cassandra, each value represents a row in a database, and different versions of the row may have different sets of columns.〔(Leveled Compaction in Apache Cassandra )〕
In order to keep down the cost of queries, the system must avoid a situation where there are too many runs.
Extensions to the 'levelled' method to incorporate B+ structures have been suggested, for example bLSM〔http://www.eecs.harvard.edu/~margo/cs165/papers/gp-lsm.pdf〕 and Diff-Index.〔http://researcher.ibm.com/researcher/files/us-wtan/DiffIndex-EDBT14-CR.pdf〕
LSM trees are used in database management systems such as BigTable, HBase, LevelDB, MongoDB, SQLite4, RocksDB, WiredTiger,〔https://github.com/wiredtiger/wiredtiger/wiki/LSMTrees〕 Apache Cassandra, and InfluxDB.〔https://influxdb.com/blog/2015/10/07/the_new_influxdb_storage_engine_a_time_structured_merge_tree.html〕
== References ==

;General
*
*

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Log-structured merge-tree」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.